1. Field of the Invention
The present invention relates generally to an improved data processing system, and in particular, to a computer implemented method and apparatus for managing error data. Still more particularly, the present invention relates to a computer implemented method, an apparatus, and a computer usable program product for storing a dump file generated in response to an error in the data processing system.
2. Description of the Related Art
Data processing systems occasionally encounter error conditions, which limit the ability of the data processing system to continue performing the data processing system's normal functions. Under certain error conditions, the data processing system may become unstable, stop responding, lose data, and/or even crash, requiring a restart. Severe errors are error conditions that cause these and other similar effects on a data processing system.
An operating system is a collection of software programs that enables a data processing system to perform the data processing system's intended functions. Most operating systems provide a mechanism to save the information, which exists in a data processing system at the time of encountering an error condition. The saved information is useful in diagnosis of the error condition. Users, such as system administrators or software engineers, may also use this type of information to reconstruct the error condition, perform a post-facto analysis of the cause of the error, and restore all or part of the data that was in use on the data processing system at the time of the error condition. A dump is the act or process of saving this information. The result of a dump is a dump file that contains the saved information.
Frequently, a dump file may require space on a data processing system storage device in an amount that reduces performance or storage capability for other purposes. For example, a dump file may be so large as to require several hard disk accesses to read or write the dump file, causing other applications that also need to access the hard disk to wait for their turn to access the hard drive, resulting in the other applications slowing down.
Dump file space is the space that the operating system of a data processing system allocates for a dump file. In most cases, although not necessarily, the dump file and other data on the data processing system share the data processing system's storage devices. Several factors affect the allocation of the dump file space, such as the overall available space on the storage device, and the size of other data occupying the storage space.
Presently, at the startup of a data processing system, a user, usually the system administrator, initializes the space for the dump file at some predetermined size. As the data processing system runs over time, the expected size of the dump file changes depending on factors, such as which applications, and how many applications, are running at a given time. Generally, as the number of running applications increases, larger amounts of data are in use, resulting in more pieces of information being present to be saved in case of an error, and thereby resulting in a larger dump file.
Presently, after initializing the dump file space to some predetermined size, the user periodically adjusts the size of the dump file space using the user's judgment and experience with the data processing system. The user performs this adjustment of the space allocated for the dump file manually. In this adjustment process, the user uses the available space on the storage device, manipulates other data stored on the storage device to make space available, and may also add new storage devices to the data processing system, according to the user's judgment.
As applications run and the data processing system operates, this manual process requires a user to constantly monitor for events occurring on the data processing system. Some of these events have the potential to cause an error condition on the data processing system, and are thus, events with the potential to cause a dump. For example, two different users on the same data processing system may start two applications that are incompatible with each other, thereby creating a potential for a dump. An event in this example is a user starting an application that conflicts with another application. This type of event is one that may cause a dump, and thus is an event with the potential to cause a dump.
Similarly, when the number of active processes or threads exceeds a predetermined threshold, the demand on the resources of the data processing system increases beyond what a user deems a safe resource usage. Starting those additional processes or threads is also an event with the potential to cause a dump.